# 选择结构

# if 条件语句 :
#     print("xxxx")
# elif 条件语句:
#     print("xxx")
# else:
#     print("xx")
# 一般用于多条件判断、选择
# 当xxx = xx 则 xxxx
# 当

age = 18

# if
if age >= 18:
    print("成年")  # 前面有四个空格
    print("ok")

age = 17

# if - else
if age >= 18:
    print("成年")  # 前面有四个空格
    print("ok")
else:
    print("未成年")

age = 300

# elif
if age > 200:
    print("妖精")
elif age < 0:
    print("火星人")
elif age >= 18:
    print("成年")
else:
    print("未成年")

print("-" * 100)

# for 循环
# 一般用于遍历容器
# for (int i = 0:i<100;i++) python 不存在这种写法
# for 变量名 in 容器:
#     print(变量名)


# 遍历list
list1 = [2, 2, 3, 4, 5]
for a in list1:
    print(a)

print("-" * 100)
# 遍历元组
tuple1 = (2, 2, 3, 4, 7, 6, 5)
for b in tuple1:
    print(b)

print("-" * 100)
# 遍历字典dict
dict1 = {
    "key1": "v1",
    "key2": "v2",
    "key3": "v3"
}

# 直接遍历字典，遍历的是字典的key
for key in dict1:
    print(key)
    print(dict1[key])

print("-" * 100)
print(dict1.items())
# 还有一种方式
# dict1.items 会返回 包含(key，value)的list
for key, value in dict1.items():
    print(key, value)

# 返回key的列表
dict1.keys()
# 返回value的列表
dict1.values()

# 遍历集合
set1 = {1, 2, 3, 3, 4, 4, 4, 5}
for i in set1:
    print(i)

print("-" * 100)

# 生成一个 1- 100 的 list 怎么做
# range 函数
# 传入一个参数 会生成一个 从0开始 到 10-1=9 为止的一个序列
for i in range(10):
    print(i)

# 传入两个参数
# 传入两个参数 range(a,b) 表示 从 a 开始 到 b-1 结束的一个序列
for i in range(1, 10):
    print(i)

# 传入三个参数
# 传入三个参数 range(a,b,c) 表示 从 a 开始 到 b-1 结束的一个序列，序列中的每个 元素相差 c
for i in range(1, 10, 2):
    print(i)

print("-" * 100)
for i in range(1, 101):
    print(i)

# 列表推导式
list1 = [i for i in range(1, 101)]
print(list1)

# 相当于下面这种形式
list2 = []
for i in range(1, 101):
    list2.append(i)
print(list2)

# 格式化字符串
# 1 * 9 = 9
# {} * {} = {}
str1 = "{} * {} = {}"
print(str1.format(1, 9, 1 * 9))

# 打印list
list3 = [str(i) for i in range(1, 10)]
print(list3)
print("|".join(list3))
print("\t".join(list3))
print("\n".join(list3))

# while 循环
# while 循环条件:
#     while循环体

# 求 1~100的累加和
# for 循环版本
sum = 0
for i in range(1, 101):
    sum = sum + i
print(sum)
# while 循环版
sum = 0
count = 1
while count <= 100:
    # sum = sum +count
    sum += count
    count = count + 1
print("while 循环结果：", sum)

# 计算 10 的阶乘
# 10! = 10*9*8*7*6*5*4*3*2*1
sum = 1
count = 10
while count >= 1:
    sum *= count
    count -= 1
print(sum)
